Una manera de aumentar las prestaciones de un computador es utilizar varios procesadores que ejecuten las instrucciones en paralelo, los más comunes de estos son los multiprocesadores simétricos (SMP) y los clusters. También recientemente los sistemas de acceso no uniforme a memoria (NUMA).
Un SMP está conformado por varios procesadores similares interconectados mediante un bus o similar. El principal problema que enfrentan es la coherencia de cache, pues cada procesador tiene su propia cache y si se altera un dato en una de estas la información puede ser no válida en las otras memorias.
La implementación de varios procesadores en un chip se denomina multiprocesadores monochip, está relacionado con repetir componentes para que se puedan ejecutar varias hebras concurrentemente, por lo que también se les llama procesadores multihebra.
Un cluster es un grupo de computadores interconectados y trabajando juntos como un solo recurso, proporcionando la ilusión de ser una única maquina.
Un procesador vectorial es paralelo de propósito especifico, diseñado para procesar eficientemente vectores o matrices de datos.
Es todavía la forma más común de clasificar a los sistemas según sus capacidades de procesamiento paralelo.
SISD
Una secuencia de instrucciones y una secuencia de datos. Un único procesador interpreta una única secuencia de instrucciones para operar con los datos almacenados en una única memoria. Dentro de esta categoría caen los computadores monoprocesador.
SIMD
Una secuencia de instrucciones y múltiples secuencias de datos. Una única instrucción controla paso a paso la ejecución simultánea y sincronizada de un cierto número de elementos cada uno con memoria asociada, de forma que cada instrucción es ejecutada por cada procesador con un conjunto de datos diferente. Un ejemplo son los procesadores vectoriales y matriciales.
MISD
Múltiples secuencias de instrucciones y una secuencia de datos. Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente. Esta estructura nunca ha sido implementada.
MIMD
Múltiples secuencias de instrucciones y múltiples secuencias de datos. Un conjunto de procesadores ejecuta simultáneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los SMP, clusters y los sistemas NUMA son ejemplos de esta categoría. Los procesadores son de uso general, cada uno con la capacidad de procesar las instrucciones necesarias para realizar las transformaciones apropiadas de los datos.
Se pueden subdividir según la forma en que se comunican los procesadores.
Si comparten memoria común, como los multiprocesadores simétricos (SMP), en el que el tiempo de acceso a memoria principal es aproximadamente el mismo para cualquier procesador, o la organización de acceso no uniforme a memoria (NUMA), en los que el tiempo de acceso a zonas distintas en memoria puede diferir.
Un conjunto de monoprocesadores independientes o SMP pueden interconectarse para formar un cluster, con memoria distribuida, en el que la comunicación entre los computadores se realiza mediante conexiones fijas o una red.
Introducción
Table of Contents
Una manera de aumentar las prestaciones de un computador es utilizar varios procesadores que ejecuten las instrucciones en paralelo, los más comunes de estos son los multiprocesadores simétricos (SMP) y los clusters. También recientemente los sistemas de acceso no uniforme a memoria (NUMA).
Un SMP está conformado por varios procesadores similares interconectados mediante un bus o similar. El principal problema que enfrentan es la coherencia de cache, pues cada procesador tiene su propia cache y si se altera un dato en una de estas la información puede ser no válida en las otras memorias.
La implementación de varios procesadores en un chip se denomina multiprocesadores monochip, está relacionado con repetir componentes para que se puedan ejecutar varias hebras concurrentemente, por lo que también se les llama procesadores multihebra.
Un cluster es un grupo de computadores interconectados y trabajando juntos como un solo recurso, proporcionando la ilusión de ser una única maquina.
Un procesador vectorial es paralelo de propósito especifico, diseñado para procesar eficientemente vectores o matrices de datos.
Es todavía la forma más común de clasificar a los sistemas según sus capacidades de procesamiento paralelo.
SISD
Una secuencia de instrucciones y una secuencia de datos. Un único procesador interpreta una única secuencia de instrucciones para operar con los datos almacenados en una única memoria. Dentro de esta categoría caen los computadores monoprocesador.
SIMD
Una secuencia de instrucciones y múltiples secuencias de datos. Una única instrucción controla paso a paso la ejecución simultánea y sincronizada de un cierto número de elementos cada uno con memoria asociada, de forma que cada instrucción es ejecutada por cada procesador con un conjunto de datos diferente. Un ejemplo son los procesadores vectoriales y matriciales.
MISD
Múltiples secuencias de instrucciones y una secuencia de datos. Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente. Esta estructura nunca ha sido implementada.
MIMD
Múltiples secuencias de instrucciones y múltiples secuencias de datos. Un conjunto de procesadores ejecuta simultáneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los SMP, clusters y los sistemas NUMA son ejemplos de esta categoría. Los procesadores son de uso general, cada uno con la capacidad de procesar las instrucciones necesarias para realizar las transformaciones apropiadas de los datos.
Se pueden subdividir según la forma en que se comunican los procesadores.